package com.yc.baseProgram;

/**
 * java执行顺序
 *
 */
public class TestExtOrder extends TestExtOrderParent {
	{
		System.out.println("-----a---");
	}
	
	static {
		System.out.println("---a--static---");
	}
	
	public TestExtOrder() {
		System.out.println("-----a constructor---");
	}

	/**
	 * 结果：
	 * 	---b--static--- 		。。。父类静态代码块
		---a--static---			。。。子类静态代码块
		-----b---				。。。父类非静态代码块
		-----b constructor---	。。。父类构造函数
		-----a---				。。。子类非静态代码块
		-----a constructor---	。。。子类构造函数

	 * @param args
	 */
	public static void main(String[] args) {
		new TestExtOrder();

	}

}

class TestExtOrderParent {
	{
		System.out.println("-----b---");
	}
	
	static {
		System.out.println("---b--static---");
	}
	
	public TestExtOrderParent() {
		System.out.println("-----b constructor---");
	}
	
}